Higher Level Meta Programming in Qu-Prolog 3: 0

نویسندگان

  • Anthony S. K. Cheng
  • Peter J. Robinson
  • John Staples
چکیده

For representing high level knowledge, such as the mathematical knowledge used in interactive theorem provers and veriication systems, it is desirable to extend Prolog's concept of data object. A basic reason is that Prolog data objects | Herbrand objects | are terms of a minimal object language, which does not include its own object variables, or quantiication over those variables. Qu-Prolog (Quantiier Prolog) is an extended logic programming concept which takes as its data objects, object terms which may include object level variables, free or bound, and arbitrary quantiiers to bind those variables. Qu-Prolog is unique in allowing its data objects to include free occurrences of object variables. This paper describes Qu-Prolog's data objects and its facilities for computing on those objects. The Qu-Prolog uniication algorithm uniies Qu-Prolog terms up to changes of bound variables. The power of Qu-Prolog uniication is greatly increased by the inclusion in the language of an evalu-able substitution operator which correctly substitutes at uniication time for free occurrences of object variables. Some related Qu-Prolog facilities for implementing theorem proving algorithms are described, including a new method for persisting data across queries. Qu-Prolog 3.0 is a compiled implementation which is in experimental use, supporting the development of interactive reasoning systems.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Logic Meta-Programming Facilities in 'LOG

A meta-level extension of a logic programming language is presented. The resulting language, called 'LOG (read quote-log), provides meta-programming facilities similar to those of Prolog while preserving a declarative logical semantics. It also offers new meta-programming opportunities as compared with Prolog due to its ability to treat whole programs, i.e. sequences of clauses, as data objects...

متن کامل

Prolog - Wikipedia, the free encyclopedia

1 History 2 Data types 3 Programming in Prolog 4 Evaluation 5 Loops and recursion 6 Negation 7 Operational considerations 8 DCGs and parsing 8.1 Parser example 9 Higher-order programming 10 Meta-interpreters and reflection 11 Implementation techniques 12 Examples 12.1 QuickSort 12.2 Turing machine 12.3 Dynamic programming 13 Extensions 14 Related languages 15 See also 16 References 17 External ...

متن کامل

Compiler Optimizations for Low-Level Redundancy Elimination: An Application of Meta-Level Prolog Primitives

Much of the work on applications of meta-level primitives in logic programs focusses on high-level aspects such as source-level program transformation , interpretation, and partial evaluation. In this paper, we show how meta-level primitives can be used in a very simple way for low-level code optimization in compilers. The resulting code optimizer is small, simple, eecient, and easy to modify a...

متن کامل

Multiple OR-Parallel Resolution: Meta-Level Control of Parallel Logic Programs

Multiple OR-parallel Resolution (MORE) Prolog is a combination of a pure logic language and control directives expressed as a meta-program. The meta-program affects the default resolution strategy by suspending execution of particular predicates, ordering the suspended processes and selectively reactivating them, thus achieving the desired kind of resolution. In this paper, we formally define t...

متن کامل

Higher-order Programming in an Or-intensive Style

Because implementations tend to favour a recursive deterministic AND-intensive programming style, it seems counter intuitive that a backtrack-ing findall-based paradigm can be more eecient. This is explained by a source level technique which is called goal precomputation, by a heap-based copy-once ndall and optimized meta predicates. A precomputed goal containing a future (reusable) computation...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1991